package com.tianji.learning.service;

import com.tianji.learning.domain.po.PointsRecord;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tianji.learning.domain.vo.PointsStatisticsVO;

import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 学习积分记录，每个月底清零 服务类
 * </p>
 *
 * @author xzh
 * @since 2024-03-18
 */
public interface IPointsRecordService extends IService<PointsRecord> {
    /**
     * 添加积分记录
     * @param record
     */
    void savePointsRecord(PointsRecord record);

    /**
     * 每天24点清理redis中的pointsRecord记录 赋值为0
     */
    void updateRedisPointsRecord();

    /**
     * 查询每天不同类型的积分情况
     * @return
     */
    List<PointsStatisticsVO> queryMyPointsToday();

    /**
     * 学习积分记录，每个月底清零 服务类
     * @param beginTime
     * @param endTime
     */
    void clearPointsRecordFromDB(LocalDateTime beginTime, LocalDateTime endTime);
}
